Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


sbapp/md2bbcode/md2ast.py a812f0a5892b60a2fcf075eec8d1cdc38daa07fd (a812f0a5) Text, 1.94 KB

T8b949e# this is for debugging the custom mistune renderer bbcode.py
Tff7b72import T7ee787argparse
Tff7b72import T7ee787mistune
Tff7b72import T7ee787json T8b949e# Import the json module for serialization
Tff7b72from T7ee787mistuneT7ee787.T7ee787pluginsT7ee787.T7ee787formatting Tff7b72import Te6edf3strikethroughTb4b4b4, Te6edf3markTb4b4b4, Te6edf3superscriptTb4b4b4, Te6edf3subscriptTb4b4b4, Te6edf3insert
Tff7b72from T7ee787mistuneT7ee787.T7ee787pluginsT7ee787.T7ee787table Tff7b72import Te6edf3tableTb4b4b4, Te6edf3table_in_list
Tff7b72from T7ee787mistuneT7ee787.T7ee787pluginsT7ee787.T7ee787footnotes Tff7b72import Te6edf3footnotes
Tff7b72from T7ee787mistuneT7ee787.T7ee787pluginsT7ee787.T7ee787task_lists Tff7b72import Te6edf3task_lists
Tff7b72from T7ee787mistuneT7ee787.T7ee787pluginsT7ee787.T7ee787def_list Tff7b72import Te6edf3def_list
Tff7b72from T7ee787mistuneT7ee787.T7ee787pluginsT7ee787.T7ee787abbr Tff7b72import Te6edf3abbr
Tff7b72from T7ee787mistuneT7ee787.T7ee787pluginsT7ee787.T7ee787spoiler Tff7b72import Te6edf3spoiler

T8b949e#local
Tff7b72from T7ee787md2bbcodeT7ee787.T7ee787pluginsT7ee787.T7ee787merge_lists Tff7b72import Te6edf3merge_ordered_lists

Tff7b72def Td2a8ffconvert_markdown_to_astTb4b4b4(Te6edf3input_filepathTb4b4b4, Te6edf3output_filepathTb4b4b4)Tb4b4b4:
T8b949e# Initialize Markdown parser with no renderer to produce an AST
Te6edf3markdown_parser Tff7b72= Te6edf3mistuneTff7b72.Td2a8ffcreate_markdownTb4b4b4(Te6edf3rendererTff7b72=Tff7b72NoneTb4b4b4, Te6edf3pluginsTff7b72=Tb4b4b4[Te6edf3strikethroughTb4b4b4, Te6edf3markTb4b4b4, Te6edf3superscriptTb4b4b4, Te6edf3subscriptTb4b4b4, Te6edf3insertTb4b4b4, Te6edf3tableTb4b4b4, Te6edf3footnotesTb4b4b4, Te6edf3task_listsTb4b4b4, Te6edf3def_listTb4b4b4, Te6edf3abbrTb4b4b4, Te6edf3spoilerTb4b4b4, Te6edf3table_in_listTb4b4b4, Te6edf3merge_ordered_listsTb4b4b4]Tb4b4b4)
T8b949e# Read the input Markdown file
Tff7b72with Tffa657openTb4b4b4(Te6edf3input_filepathTb4b4b4, Ta5d6ff'Ta5d6ffrTa5d6ff'Tb4b4b4, Te6edf3encodingTff7b72=Ta5d6ff'Ta5d6ffutf-8Ta5d6ff'Tb4b4b4) Tff7b72as Te6edf3md_fileTb4b4b4:
Te6edf3markdown_text Tff7b72= Te6edf3md_fileTff7b72.Td2a8ffreadTb4b4b4(Tb4b4b4)
T8b949e# Convert Markdown text to AST
Te6edf3ast_text Tff7b72= Te6edf3markdown_parserTb4b4b4(Te6edf3markdown_textTb4b4b4)
T8b949e# Serialize the AST to a JSON string
Te6edf3ast_json Tff7b72= Te6edf3jsonTff7b72.Td2a8ffdumpsTb4b4b4(Te6edf3ast_textTb4b4b4, Te6edf3indentTff7b72=T79c0ff4Tb4b4b4)
T8b949e# Write the output AST to a new file in JSON format
Tff7b72with Tffa657openTb4b4b4(Te6edf3output_filepathTb4b4b4, Ta5d6ff'Ta5d6ffwTa5d6ff'Tb4b4b4, Te6edf3encodingTff7b72=Ta5d6ff'Ta5d6ffutf-8Ta5d6ff'Tb4b4b4) Tff7b72as Te6edf3ast_fileTb4b4b4:
Te6edf3ast_fileTff7b72.Td2a8ffwriteTb4b4b4(Te6edf3ast_jsonTb4b4b4)

Tff7b72def Td2a8ffmainTb4b4b4(Tb4b4b4)Tb4b4b4:
T8b949e# Create argument parser
Te6edf3parser Tff7b72= Te6edf3argparseTff7b72.Td2a8ffArgumentParserTb4b4b4(Te6edf3descriptionTff7b72=Ta5d6ff'Ta5d6ffConvert Markdown file to AST file (JSON format).Ta5d6ff'Tb4b4b4)
T8b949e# Add arguments
Te6edf3parserTff7b72.Td2a8ffadd_argumentTb4b4b4(Ta5d6ff'Ta5d6ffinputTa5d6ff'Tb4b4b4, Te6edf3helpTff7b72=Ta5d6ff'Ta5d6ffInput Markdown file pathTa5d6ff'Tb4b4b4)
Te6edf3parserTff7b72.Td2a8ffadd_argumentTb4b4b4(Ta5d6ff'Ta5d6ffoutputTa5d6ff'Tb4b4b4, Te6edf3helpTff7b72=Ta5d6ff'Ta5d6ffOutput AST file path (JSON format)Ta5d6ff'Tb4b4b4)
T8b949e# Parse arguments
Te6edf3args Tff7b72= Te6edf3parserTff7b72.Td2a8ffparse_argsTb4b4b4(Tb4b4b4)
T8b949e# Convert the Markdown to AST using the provided paths
Te6edf3convert_markdown_to_astTb4b4b4(Te6edf3argsTff7b72.Td2a8ffinputTb4b4b4, Te6edf3argsTff7b72.Td2a8ffoutputTb4b4b4)

Tff7b72if Tff7b72__name__ Tff7b72== Ta5d6ff'Ta5d6ff__main__Ta5d6ff'Tb4b4b4:
Te6edf3mainTb4b4b4(Tb4b4b4)


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────